package com.system.dao;

import com.system.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author: E-mail:
 * @Version: 创建时间：2019年04月11日12:08
 * @Description: <描述>
 */
public interface TeacherDao {
    /**
     * 查找该老师需要上课的课程
     * @param username
     * @return
     */
    List<Course> selectAll(String username);

    /**
     * 查找已选该课程id的学生信息
     * @param id
     * @return
     */
    List<SelectedCourseDTO> findSelectedCourse(Integer id);
    /**
     * 查找选中该课程的学生
     * @param courseid
     * @param studentid
     * @return
     */
    SelectedCourseDTO selectThisCourseStu(@Param("courseid") Integer courseid, @Param("studentid") Integer studentid);
    /**
     * 修改该学生的成绩
     * @param courseVO
     */
    void updateMark(CourseVO courseVO);
    /**
     * 查找所有老师的
     * @return
     */
    List<Teacher> selectTeacherNo();

    /**
     * 查找老师的全部信息
     * @return
     */
    List<Teacher> findAll();

    /**
     * 根据老师的姓名查找老师
     * @param findByName
     * @return
     */
    List<Teacher> selectTeacherByName(String findByName);

    /**
     * 检查是否已经添加过
     * @param userID
     * @return
     */
    TeacherVO findStudentByID(Integer userID);

    /**
     * 添加老师
     * @param teacher
     */
    void insertTeacher(Teacher teacher);

    /**
     * 通过id查找老师的全部信息
     * @param userID
     * @return
     */
    TeacherVO selectTeacherById(Integer userID);

    /**
     * 修改老师信息
     * @param teacherVO
     */
    void updateTeacher(TeacherVO teacherVO);

    /**
     * 根据id删除老师
     * @param userID
     */
    void deleteTeacher(Integer userID);

    /**
     * 修改密码
     * @param userName
     * @param newPassword
     */
    void updatePassword(@Param("userName") String userName, @Param("newPassword") String newPassword);
}
